/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ControladoresUI;

import Entidades.Jornada;
import Entidades.Periodo;
import Entidades.Usuario;
import Ingresos.IJornada;
import Ingresos.IPeriodo;
import ManagersUI.CatedraticoModificarManager;
import ManagersUI.PeriodoModificarManager;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Hyperlink;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javax.swing.JOptionPane;

/**
 *
 * @author Carlos Andy T. Tiniguar <Tini0106Andy@gmail.com>
 */
public class PeriodoModificarController {
    Periodo registro;
    Usuario usuario; 
    PeriodoModificarManager periodoModificarManager;
    @FXML private TextField txtHoraInicio;
    @FXML private TextField txtMinutosInicio;
    @FXML private TextField txtHoraFin;
    @FXML private TextField txtMinutosFin;
    @FXML private TextField txtNombre;
    @FXML private ComboBox cmbJornada;
    
    
    public void initialize() {}
  
    public void initManager(final PeriodoModificarManager periodoModificarManager,Usuario usuario,Periodo Registro) {
        this.periodoModificarManager = periodoModificarManager;
        this.usuario = usuario;
        this.registro = Registro;
        cargarDatos();
        cargarJornada();
    }
    public void cargarJornada(){
        this.cmbJornada.setPromptText("Jornada");
         IJornada manejo = new IJornada();
        this.cmbJornada.getItems().clear();
        this.cmbJornada.getItems().addAll(manejo.mostrarTodoFalse());
        //this.cmbJornada.setValue(this.cmbJornada.getItems().get(0));
    }
    public void cargarDatos(){
        this.txtHoraInicio.setText(Integer.toString(this.registro.getHoraInicio().getHours()));
        this.txtMinutosInicio.setText(Integer.toString(this.registro.getHoraInicio().getMinutes()));
        this.txtHoraFin.setText(Integer.toString(this.registro.getHoraFin().getHours()));
        this.txtMinutosFin.setText(Integer.toString(this.registro.getHoraFin().getMinutes()));  
        this.txtNombre.setText(this.registro.getNombre());
        this.cmbJornada.setValue(this.registro.getJornadaidJornada());
    }
    @FXML
    private void ModificarPeriodo(ActionEvent event){
        try {
            IPeriodo manejo = new IPeriodo();
           this.registro.setNombre(this.txtNombre.getText());
           this.registro.setJornadaidJornada((Jornada) this.cmbJornada.getValue());
                String inicio = txtHoraInicio.getText() + ":" + txtMinutosInicio.getText();
                String fin = txtHoraFin.getText() + ":" + txtMinutosFin.getText();
                DateFormat hora = new SimpleDateFormat("hh:mm");
                Date HoraInicio = hora.parse(inicio);
                Date HoraFin = hora.parse(fin);
            this.registro.setHoraInicio(HoraInicio);
             
            this.registro.setHoraFin(HoraFin);
             manejo.modificar(registro);
             JOptionPane.showMessageDialog(null, "Se ha modificado el periodo.");
             periodoModificarManager.showPnlPeridoInicio(usuario);
        } catch (ParseException ex) {
            Logger.getLogger(PeriodoModificarController.class.getName()).log(Level.SEVERE, null, ex);
        }        
    }
    @FXML
    private void RegresarInicio(ActionEvent event){
      periodoModificarManager.showPnlPeridoInicio(usuario);
    }
    
}
